package de.iritgo.skillfull.component;


/**
 * The visual components render images, animations....
 * 
 * @author held
 *
 */
public interface VisualComponent extends Component
{
	/**
	 * Get the scale of a component
	 * 
	 * @return The scale
	 */
	public float getScale ();

	/**
	 * Set the scale of a component
	 * 
	 * @param scale
	 */
	public void setScale (float scale);
	
	/**
	 * Set the relative flag for the position of the component
	 * 
	 * @param relative The falg
	 */
	public void setRelative (boolean relative);

	/**
	 * Is the component visible
	 * 
	 * @param visible The visible state
	 */
	public void setVisible (boolean visible); 
	
	/**
	 * Get the x pos
	 * 
	 * @return The x pos
	 */
	public int getX (); 

	/**
	 * Set the xpos
	 * 
	 * @param x The x pos
	 */
	public void setX (int x); 

	/**
	 * Get the y pos 
	 * 
	 * @return The y pos
	 */
	public int getY (); 

	/**
	 * The y pos
	 * @param y The y pos
	 */
	public void setY (int y); 

	/**
	 * Return the current rotation
	 * 
	 * @return The rotation
	 */
	public float getRotation ();

	/**
	 * Set the rotation
	 * 
	 * @param rotation Set the rotation
	 */
	public void setRotation (float rotation); 
}
